Communication devices such as network switches process input packets received via ingress ports in one or more pipelines each including a number of stages. Debugging of the process is performed through debug observation-points (DOPs) set as registers and/or tables in the required areas in the pipeline. The current approach of using DOPs has a number of shortcomings. For example, the register-specification (spec) has to be constantly modified and modifications are to be exposed to test and/or software (SW) teams. Test efforts may be intensive to verify functionality of each DOP as a unique instance by itself. As DOPs are usually added to the pipeline at a last stage of the design, extensive verification may not be possible. In some situations, exposure model to SW can be cumbersome and vague. The current approach is not scalable, and if lots of DOPs are added in a critical-stage, one may run out of the register-addressing space. Finally, it is not easy to add or remove DOPs without additional churn in register-spec and/or testing efforts.